#define _CRT_SECURE_NO_WARNINGS 1
//bool isUnivalTree(struct TreeNode* root) {
//    if (root == NULL)
//        return true;
//    if (root->left && root->left->val != root->val)
//        return false;
//    if (root->right && root->right->val != root->val)
//        return false;
//    return isUnivalTree(root->left) && isUnivalTree(root->right);
//}

int Max(int x, int y)
{
    return x > y ? x : y;
}


int maxDepth(struct TreeNode* root) {
    if (root == NULL)
        return 0;
    return 1 + Max(maxDepth(root->left), maxDepth(root->right));
}